package com.legendshop.oa.model;

import com.legendshop.dao.persistence.*;
import com.legendshop.dao.support.GenericEntity;

import java.util.Date;

/**
 * 周报
 */
@Entity
@Table(name = "ls_week_log")
public class WeekLog implements GenericEntity<Long> {

	private static final long serialVersionUID = 7606834729048368150L;

	/** 主键 */
	private Long id;

	/** 年份 */
	private Integer year;

	/** 用户名 */
	private String userName;
	
	/** 用户真实名 */
	private String realName;

	/** 第几周 */
	private Integer weekNo;

	/** 本周总结 */
	private String thisWeekLog;

	/** 下周计划 */
	private String nextWeekPlan;
	
	/** 反馈的问题 */
	private String feedback;

	/** 是否审核,0没有审核，1已经审核 */
	private Integer reviewed;	

	/** 审核人 */
	private String reviewer;

	/** 审核人真实姓名 */
	private String realReviewerName;

	/** 审核人的反馈 */
	private String reviewFeedback;

	/** 审核时间 */
	private Date reviewDate;
	
	/** 工时 */
	private Long workTime; 

	/** 记录时间 */
	private Date recDate;
	
	/** 本周开始时间 */
	private String startDate;
	
	/** 本周结束时间 */
	private String endDate;

	/** 上级的名称 **/
	private String leaderName;
	
	public WeekLog() {
	}

	@Id
	@Column(name = "id")
	@GeneratedValue(strategy = GenerationType.TABLE, generator = "generator")
	@TableGenerator(name = "generator", pkColumnValue = "WEEK_LOG_SEQ")
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "year")
	public Integer getYear() {
		return year;
	}

	public void setYear(Integer year) {
		this.year = year;
	}

	@Column(name = "this_week_log")
	public String getThisWeekLog() {
		return thisWeekLog;
	}

	public void setThisWeekLog(String thisWeekLog) {
		this.thisWeekLog = thisWeekLog;
	}

	@Column(name = "next_week_plan")
	public String getNextWeekPlan() {
		return nextWeekPlan;
	}

	public void setNextWeekPlan(String nextWeekPlan) {
		this.nextWeekPlan = nextWeekPlan;
	}

	@Column(name = "reviewed")
	public Integer getReviewed() {
		return reviewed;
	}

	public void setReviewed(Integer reviewed) {
		this.reviewed = reviewed;
	}

	@Column(name = "reviewer")
	public String getReviewer() {
		return reviewer;
	}

	public void setReviewer(String reviewer) {
		this.reviewer = reviewer;
	}

	@Column(name = "review_date")
	public Date getReviewDate() {
		return reviewDate;
	}

	public void setReviewDate(Date reviewDate) {
		this.reviewDate = reviewDate;
	}

	@Column(name = "rec_date")
	public Date getRecDate() {
		return recDate;
	}

	public void setRecDate(Date recDate) {
		this.recDate = recDate;
	}

	@Column(name = "user_name")
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	@Column(name = "feedback")
	public String getFeedback() {
		return feedback;
	}

	public void setFeedback(String feedback) {
		this.feedback = feedback;
	}

	@Column(name = "review_feedback")
	public String getReviewFeedback() {
		return reviewFeedback;
	}

	public void setReviewFeedback(String reviewFeedback) {
		this.reviewFeedback = reviewFeedback;
	}

	@Transient
	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}

	@Column(name = "work_time")
	public Long getWorkTime() {
		return workTime;
	}

	public void setWorkTime(Long workTime) {
		this.workTime = workTime;
	}

	@Column(name = "week_no")
	public Integer getWeekNo() {
		return weekNo;
	}

	public void setWeekNo(Integer weekNo) {
		this.weekNo = weekNo;
	}

	@Transient
	public String getStartDate() {
		return startDate;
	}

	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}

	@Transient
	public String getEndDate() {
		return endDate;
	}

	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}

	@Transient
	public String getRealReviewerName() {
		return realReviewerName;
	}

	public void setRealReviewerName(String realReviewerName) {
		this.realReviewerName = realReviewerName;
	}

	@Transient
	public String getLeaderName() {
		return leaderName;
	}

	public void setLeaderName(String leaderName) {
		this.leaderName = leaderName;
	}
}
